/** Doctor's Orders */
package edu.gatech.datastorage;

import java.io.Serializable;

/**
 * @author Courtney
 * @version 1.0
 */
public class DoctorsOrders implements Serializable{
   /**
	 * 
	 */
	private static final long serialVersionUID = 5611796760667694683L;

/**
    * Prescription object
    */
   private Prescription prescription;

   /**
    * other important information following appointment
    */
   private String labwork, followup, otherInstructions;

   /**
    * @param perscription
    * @param labwork
    * @param followup
    * @param otherInstructions
    */
   public DoctorsOrders(Prescription perscription, String labwork, 
		   String followup, String otherInstructions){
       this.prescription = perscription;
       this.labwork = labwork;
       this.followup = followup;
       this.otherInstructions = otherInstructions;
   }

   /**
    * @return string representation of the doctor's orders
    */
   public String toString(){
       return ("Prescription: " + prescription.toString() + "\n" + 
    		   "Labwork: " + labwork + " \n" + 
    		   " Followup: " + followup + "\n" + 
    		   "Other Instructions: " + otherInstructions);
   }
   
   /**
    * Returns the prescription
    * @return Prescription
    */
   public Prescription getPrescription() {
	   return prescription;
   }
   
   /**
    * Sets the new Prescription
    * @param prescription
    */
   public void setPrescription(Prescription prescription) {
	   this.prescription = prescription;
   }
   
   /**
    * Gets the labwork
    * @return String 
    */
   public String getLabwork() {
	   return labwork;
   }
   
   /**
    * Sets the new labwork
    * @param labwork
    */
   public void setLabwork(String labwork) {
	   this.labwork = labwork;
   }
   
   /**
    * Gives followup instructions
    * @return String followup
    */
   public String getFollowup() {
	   return followup;
   }

   /**
    * Sets followup instructions
    * @param followup
    */
   public void setFollowup(String followup) {
	   this.followup = followup;
   }
   
   /**
    * Gets instructions containing extra information for a patient
    * @return String other instructions
    */
   public String getOtherInstructions() {
	   return otherInstructions;
   }
   
   /**
    * Sets the other instructions
    * @param otherInstructions
    */
   public void setOtherInstructions(String otherInstructions) {
	   this.otherInstructions = otherInstructions;
   }
   
   /**
    * Edits a doctors order
    * @param perscription
    * @param labwork
    * @param followup
    * @param otherInstructions
    */
   public void edit(Prescription perscription, String labwork, 
		   String followup, String otherInstructions){
	   this.prescription = perscription;
       this.labwork = labwork;
       this.followup = followup;
       this.otherInstructions = otherInstructions;
   }
}